// 全局工具模块 - 简化版，提供用户相关功能和主题管理

/**
 * 获取当前主题名称
 * 从DOM元素中直接获取，适用于非前后端分离项目
 * @returns {string} 当前主题名称
 */
export function getThemeName() {
  try {
    const themeElement = document.getElementById('themeName');
    return themeElement ? themeElement.value || 'nice' : 'nice';
  } catch (error) {
    console.warn('获取主题名称失败:', error);
    return 'nice'; // 默认主题
  }
}

/**
 * 获取当前用户名
 * 从DOM元素中直接获取，适用于非前后端分离项目
 * @returns {string} 当前用户名，未登录时返回空字符串
 */
export function getUserName() {
  try {
    const userElement = document.getElementById('userName');
    return userElement ? userElement.value || '' : '';
  } catch (error) {
    console.warn('获取用户名失败:', error);
    return '';
  }
}

/**
 * 判断用户是否已登录
 * 通过检查用户名为空来判断
 * @returns {boolean} 用户是否已登录
 */
export function isUserLoggedIn() {
  const userName = getUserName();
  return !!userName; // 用户名不为空则认为已登录
}

/**
 * 处理登录跳转
 * 跳转到当前主题的登录页面，并带上当前页面作为返回地址
 */
export function handleLogin() {
  const currentUrl = window.location.href;
  try {
    const themeName = getThemeName();
    window.location.href = `/${themeName}/login?forward=${encodeURIComponent(currentUrl)}`;
  } catch (error) {
    console.warn('处理登录跳转失败:', error);
    window.location.href = `/nice/login?forward=${encodeURIComponent(currentUrl)}`;
  }
}

/**
 * 处理退出登录跳转
 * 跳转到当前主题的退出登录页面，并带上当前页面作为返回地址
 */
export function handleLogout() {
  const currentUrl = window.location.href;
  try {
    const themeName = getThemeName();
    window.location.href = `/${themeName}/logout?forward=${encodeURIComponent(currentUrl)}`;
  } catch (error) {
    console.warn('处理退出登录跳转失败:', error);
    window.location.href = `/nice/logout?forward=${encodeURIComponent(currentUrl)}`;
  }
}

// 导出简单对象，方便解构使用
export default {
  getThemeName,
  getUserName,
  isUserLoggedIn,
  handleLogin,
  handleLogout
};